package edu.dayu.demo2;

/**
 * 给你一个下标从 0 开始长度为 n 的字符串 num ，它只包含数字。
 * 输入：num = "1210"
 * 输出：true
 * 解释：
 * num[0] = '1' 。数字 0 在 num 中出现了一次。
 * num[1] = '2' 。数字 1 在 num 中出现了两次。
 * num[2] = '1' 。数字 2 在 num 中出现了一次。
 * num[3] = '0' 。数字 3 在 num 中出现了零次。
 * 思路： 暴力的话 就是创建一个 长度一样的数组，出现 1 就 sum[1]++; 然后再循环 num[0]='1' sum[0] = 1; 就继续。
 */
public class 判断一个数的数字计数是否等于数位的值 {

    public static void main(String[] args) {
        String num = "030";
        System.out.println(digitCount(num));
    }

    public static boolean digitCount(String num) {
        int[] sum = new int[10];
        boolean flag = true;
        for (int i = 0; i < num.length(); i++) {
            Integer temp = new Integer(num.charAt(i)-'0');
            sum[temp]++;
        }
        for (int i = 0; i < num.length(); i++) {
            Integer temp = new Integer(num.charAt(i)-'0');
            if (sum[i] != temp){
                flag = false;
                break;
            }
        }
        return flag;
    }
}
